config_get_bool enabled globals 'enabled' '0'
[ ${enabled} -gt 0 ] || exit 0
-mwan3_lock
+mwan3_lock "$ACTION" "$INTERFACE"
mwan3_init
mwan3_set_connected_iptables
mwan3_set_custom_ipset
-mwan3_unlock
+mwan3_unlock "$ACTION" "$INTERFACE"
config_get enabled $INTERFACE enabled 0
config_get initial_state $INTERFACE initial_state "online"
running=1
fi
-mwan3_lock
+mwan3_lock "$ACTION" "$INTERFACE"
$LOG notice "Execute "$ACTION" event on interface $INTERFACE (${DEVICE:-unknown})"
case "$ACTION" in
;;
esac
-mwan3_unlock
+mwan3_unlock "$ACTION" "$INTERFACE"
exit 0
[ ${enabled} -gt 0 ] || exit 0
if [ "$ACTION" == "ifup" ]; then
- mwan3_lock
+ mwan3_lock "$ACTION" "mwan3rtmon"
mwan3_rtmon
- mwan3_unlock
+ mwan3_unlock "$ACTION" "mwan3rtmon"
fi
exit 0
mwan3_lock() {
lock /var/run/mwan3.lock
+# $LOG debug "$1 $2 (lock)"
}
mwan3_unlock() {
+# $LOG debug "$1 $2 (unlock)"
lock -u /var/run/mwan3.lock
}
{
local ipset route rule table IP IPT pid
- mwan3_lock
+ mwan3_lock "command" "mwan3"
for pid in $(pgrep -f "mwan3rtmon"); do
kill -TERM "$pid" > /dev/null 2>&1
$IPS -q destroy $ipset
done
- mwan3_unlock
+ mwan3_unlock "command" "mwan3"
mwan3_lock_clean
rm -rf $MWAN3_STATUS_DIR $MWAN3TRACK_STATUS_DIR
sleep 3
while true; do
- mwan3_lock
+ mwan3_lock "service" "mwan3rtmon"
[ mwan3_remon_ipv4 = "1" ] || \
[ mwan3_rtmon_ipv6 = "1" ] && break
- mwan3_unlock
+ mwan3_unlock "service" "mwan3rtmon"
[ "$rtmon_interval" = "0" ] && break
sleep "$rtmon_interval" &
wait
done
- mwan3_unlock
+ mwan3_unlock "service" "mwan3rtmon"
}
main "$@"